// 字典树
// https://www.luogu.com.cn/problem/P2580
int tot;
int ch[max_size][26];
int siz[max_size], cnt[max_size]; // i 的子树中字符串数量，以 i 结尾的字符串数量
char str[55];

int n, m;
int visit[maxn];

void insert(char *s) { // 插入
    int pos = 0;
    while (*s != '\0') {
        int &nex = ch[pos][*s - 'a'];
        if (nex == 0) nex = ++tot;
        ++siz[pos], pos = nex, ++s;
    }
    ++cnt[pos], ++siz[pos];
}

int find(char *s) { // 查找，返回该字符串的数量
    int pos = 0;
    while (*s != '\0') {
        pos = ch[pos][*s - 'a'];
        if (pos == 0) return 0; //
        ++s;
    }
    return cnt[pos];
}
